using System;

namespace Pay.Core {
	[Serializable]
	public class DataErrorException : ArgumentException {
		//
		// 摘要:
		//     使用指定错误消息和对作为此异常原因的内部异常的引用来初始化 System.ArgumentException 类的新实例。
		//
		// 参数:
		//   message:
		//     解释异常原因的错误信息。
		//
		//   innerException:
		//     导致当前异常的异常。 如果 innerException 参数不为空引用，则在处理内部异常的 catch 块中引发当前异常。
		public DataErrorException(string message, Exception innerException) : base(message, innerException) {
		}
	}
	[Serializable]
	public class ServerErrorException : ArgumentException {
		//
		// 摘要:
		//     使用指定错误消息和对作为此异常原因的内部异常的引用来初始化 System.ArgumentException 类的新实例。
		//
		// 参数:
		//   message:
		//     解释异常原因的错误信息。
		//
		//   innerException:
		//     导致当前异常的异常。 如果 innerException 参数不为空引用，则在处理内部异常的 catch 块中引发当前异常。
		public ServerErrorException(string message, Exception innerException) : base(message, innerException) {
		}
		public ServerErrorException(string message) : base(message) {
		}
		public ServerErrorException(string message, int error_code) : base(message + ":" + error_code) {
			ErrorCode = error_code;
		}

		public int ErrorCode { get; set; }
	}
}
